<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>类型之间的相互转换</title>
</head>
<body>
    
</body>
<script>
    /*
        Set类型和数组类型是很像的  可以理解成Set类型是不会重复的数组类型

            我们同时也是需要掌握Set类型和数组类型之间转换的方法
    */

    let set = new Set('123456789')
    console.log(set)  //Set(9) {"1", "2", "3", "4", "5", …}  有九个Set元素
    // 需求  将Set类型中大于5的字符去掉
    //  因为数组类型有很多好用的增删改查的方法 所以我们可以将Set类型先转换为数组类型  最后再转回来即可
    // 使用点语法  或者是Array.from  可以将Set类型转换成数组类型  点语法真的很好用
    let arr =  Array.from(set)
    let arr1 = [...set]
    console.log(arr)  // ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
    console.log(arr1)  //["1", "2", "3", "4", "5", "6", "7", "8", "9"]
    let newarr = arr.filter(item=>{
        return item<=5
    })
    console.log(newarr)  // ["1", "2", "3", "4", "5"]
    set =  new Set(newarr)
    console.log(set) // Set(5) {"1", "2", "3", "4", "5"}   最后再将数组转换成Set类型

    // 例2 ：   去除数组中相同的元素  
    //   因为Set类型是的子元素是永远都不会重复的  所以就可以将数组转换成Set类型  再转成数组  就可以实现去除掉重复项了
    let arr3 = [1,5,2,6,4,8,7,6,2,1,6,4]
    arr3 = [...new Set(arr3)]
    console.log(arr3)  // [1, 5, 2, 6, 4, 8, 7]  
</script>
</html>